package tr.edu.metu.is.mega.client.service;

import java.util.Map;

import tr.edu.metu.is.mega.common.ValidationAttributeValue;
import tr.edu.metu.is.mega.common.ValidationConstraint;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

/**
 * GWT validation service asynchronous interface.
 */
@RemoteServiceRelativePath("GwtValidationService")
public interface GwtValidationServiceAsync {

    /**
     * Returns validation constraints of a DTO class.
     * 
     * @param clazz class type
     * @param cb callback
     */
    void getValidationConstraints(String clazz, AsyncCallback<Map<String, Map<ValidationConstraint, ValidationAttributeValue>>> cb);

}
